#include "widget.h"
#include "ui_widget.h"
#include<qDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //往这里添加元素
    ui->listWidget->addItem("c++");
    ui->listWidget->addItem("java");
    ui->listWidget->addItem("phony");

    //在QListWidgetItem中，设置图标，文字大小等等
//    ui->listWidget->addItem(new QListWidgetItem("c++"));
//    ui->listWidget->addItem(new QListWidgetItem("java"));
//    ui->listWidget->addItem(new QListWidgetItem("c++"));

}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_pushButton_insert_clicked()
{
    //先获取到输入框中的内容
    const QString&text = ui->lineEdit->text();
    //添加到QListWidgetItem
    ui->listWidget->addItem(text);
}

void Widget::on_pushButton_delete_clicked()
{
    //先获取被选中的元素
    int roe = ui->listWidget->currentRow();//返回被选中元素是第⼏⾏
    if(roe<0)
    {
        return;
    }
    //按照行号删除
    ui->listWidget->takeItem(roe);
}

void Widget::on_listWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous)
{
    //通过这个槽函数感知到变化
    if(current != nullptr)
    {
        qDebug()<<"当前选中的元素："<<current->text();
    }

    if(previous != nullptr)
    {
        qDebug()<<"上次选中的元素："<<previous->text();
    }
}
